Бітова площина

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
8 бітових площин сірого зображення (ліворуч). Площин вісім, бо у наведеному зображенні використовується вісім біт на піксель.

Бітова площина цифрового дискретного сигналу (наприклад, зображення чи звуку) — це набір бітів, відповідних заданій бітовій позиції[en] у кожному з двійкових чисел, які представляють сигнал[1].

Наприклад, для 16-бітної архітектури даних існує 16 бітових площин: перша бітова площина містить набір найбільш значущих бітів, а 16-я містить найменш значущий біт.

Можна побачити, що перша бітова площина дає найбільш грубе, але найкритичніше наближення значення до середнього, і чим вище номер бітової площини, тим менший її внесок у кінцеве значення. Таким чином, додавання бітової площини дає краще наближення.

Якщо біт на n-ї бітовій площині у m-бітовому наборі даних встановлений на 1, то він додає значення 2(m-n), інакше він нічого не додає. Отже, бітові площини можуть додавати половину від значення попередньої бітової площини. Наприклад, у 8-бітовій величині 10110101 (181 в десятковій системі) бітові площини працюють так:

бітова площина Значення Внесок Загальна кількість
1-ша 1 1 × 27 = 128 128
2-га 0 0 × 26 = 0 128
3-тя 1 1 × 25 = 32 160
4-та 1 1 × 24 = 16 176
5-та 0 0 × 23 = 0 176
6-та 1 1 × 22 = 4 180
7-ма 0 0 × 21 = 0 180
8-ма 1 1 × 20 = 1 181

Бітова площина іноді використовується як синонім бітової мапи, проте технічно перша стосується розташування даних у пам'яті, а остання — самих даних[2].

Одним з можливих варіантів використання бітових площин є визначення того, чи є бітова площина випадковим шумом або містить суттєву інформацію.

Одним зі способів обчислення цього є порівняння кожного пікселя (X, Y) з трьома суміжними пікселями (X-1, Y), (X, Y-1) та (X-1, Y-1). Якщо піксель такий же, як принаймні два з трьох сусідніх пікселів, це не шум. Зашумлена бітова площина буде мати від 49 % до 51 % пікселів, які є шумом[3].

Застосування

[ред. | ред. код]

Формати медіафайлів

[ред. | ред. код]

Наприклад, при кодуванні звуку за допомогою ІКМ, перший біт у вибірці позначає знак функції, або іншими словами визначає половину всього діапазону значень амплітуди, а останній біт визначає точне значення. Заміна більш значущих бітів призводить до більше спотворень, ніж заміна менш значущих бітів. Якщо стиснення даних використовує бітові площини, то це дає більше свободи для кодування менш значущих бітових площин та важливим є збереження більш значущих[4].

Як показано на зображенні вище, бітові площини на початку, особливо перша, можуть мати постійні повторення бітів і, таким чином, можуть бути ефективно кодовані за довжиною серій. Це використовується (зокрема, при перетворенні) у форматі для зображень PGF.

Растрові екрани

[ред. | ред. код]

Деякі комп'ютери для створення графічного зображення використовували бітові площини, зокрема, Amiga та Atari ST, на відміну від більш поширеного методу «ущільнених пікселів[en]» (англ. Packed pixel). Це дозволило виконувати певні класи операцій із зображенням за допомогою побітових операцій (особливо, за допомогою мікросхеми Blitter[en](англ. block image transferrer)) та ефектів прокрутки паралакса.

Оцінка руху відео

[ред. | ред. код]

Деякі алгоритми оцінки руху можуть бути виконані за допомогою бітових площин (наприклад, після застосування фільтра для перетворення виразних країв у бінарні значення)[5]. Деякі алгоритми оцінки руху можуть бути виконані за допомогою бітових площин (наприклад, після застосування фільтра для перетворення особливостей чіткого краю в бінарні значення). Часом це може забезпечити достатньо хороше наближення для пов'язаних операцій з мінімальними обчислювальними витратами. Це спирається на спостереження, що просторова інформація є більш значною, ніж фактичні значення. Згортка може зводитися до операцій зсуву бітів та підсумовування бітів[en], або виконуватись на спеціальному обладнання.

Нейронні мережі

[ред. | ред. код]

Формати біт-площин можуть бути використані для передачі зображень до імпульсної нейронної мережі[ru] або для наближення з низькою точністю до нейронних мереж/згорткових нейронних мереж[6].

Програми

[ред. | ред. код]

Багато пакетів обробки зображень можуть розділити зображення на бітові площини. Інструменти з відкритим кодом, такі як Pamarith від Netpbm[en] та Convert з ImageMagick, можна використовувати для створення бітових площин.

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Bit Plane. PC Magazine. Архів оригіналу за 7 жовтня 2012. Процитовано 2 травня 2007.
  2. Bit Plane. FOLDOC. Архів оригіналу за 3 березня 2016. Процитовано 2 травня 2007.
  3. Strutz, Tilo (2001). Fast Noise Suppression for Lossless Image Coding. Proceedings of Picture Coding Symposium (PCS'2001), Seoul, Korea. Архів оригіналу за 13 жовтня 2007. Процитовано 15 січня 2008.
  4. Cho, Chuan-Yu; Chen, Hong-Sheng; Wang, Jia-Shung (July 2006). Smooth Quality Streaming With Bit-Plane Labelling. Visual Communications and Image Processing (abstract). Visual Communications and Image Processing 2005. The International Society for Optical Engineering. 5690: 2184—2195. Bibcode:2005SPIE.5960.2184C. doi:10.1117/12.633501.
  5. bitlane motion estimation. Архів оригіналу за 20 жовтня 2017. Процитовано 19 грудня 2019.
  6. Rastegari, Mohammad; Ordonez, Vicente; Redmon, Joseph; Farhadi, Ali (2016). xnor net. arXiv:1603.05279 [cs.CV].